/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.informet.ipd.struts.action;

import com.informet.ipd.modelo.dao.DependenciaDao;
import com.informet.ipd.modelo.dao.MainDao;
import com.informet.ipd.modelo.dao.UsuarioDao;
import com.informet.ipd.modelo.dao.UsuarioRolDao;
import com.informet.ipd.modelo.vo.UsuarioVO;
import com.informet.ipd.struts.form.UsuarioForm;
import com.informet.ipd.struts.form.UsuarioRolForm;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.swing.JOptionPane;


import org.apache.struts.actions.DispatchAction;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForward;

/**
 *
 * @author LAPTOP01
 */
public class UsuarioAction extends DispatchAction {

    /* forward name="success" path="" */
    private final static String SUCCESS = "success";

    /**
     * This is the Struts action method called on
     * http://.../actionPath?method=myAction1,
     * where "method" is the value specified in <action> element : 
     * ( <action parameter="method" .../> )
     */
    public ActionForward ingresar(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {

        UsuarioForm form1 = (UsuarioForm) form;

        String user = form1.getUsuario_name();
        String pass = form1.getUsuario_password();
        UsuarioDao usuarioDao = new UsuarioDao();


        UsuarioVO uvo = usuarioDao.logeo(user, pass);
        String idUser = uvo.getTX_USUARIO_NAME();
//         int act=
       // Object restriccion = new MainDao().restriccion(uvo.getNUM_USUARIOID());
      //  Object[] activado = (Object[]) new MainDao().activo(uvo.getNUM_USUARIOID());
         Object[] validacion = (Object[]) new MainDao().validacion(uvo.getNUM_USUARIOID());
      
        if (idUser.length() > 0 && validacion[1].equals(1)) {
           
                HttpSession session = request.getSession();
                session.setAttribute("UserId", idUser);
                session.setAttribute("restringir", validacion[0].toString());
                session.setAttribute("dependencia", validacion[2].toString());
                return mapping.findForward("panel");
         
        } else {
            return mapping.getInputForward();
        }

    }

    public ActionForward registrar(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        UsuarioForm form1 = (UsuarioForm) form;
        UsuarioVO usuarioVo = new UsuarioVO(form1.getUsuario_id(), form1.getUsuario_name(), form1.getUsuario_password(), form1.getApellido(), form1.getNombre(), form1.getEmail(), form1.getEmail_2(), form1.getTelefono(), form1.getCelular(), form1.getDependencia(), form1.getCargo(), form1.getEstado(), "", "");
        UsuarioDao usuarioDao = new UsuarioDao();
        usuarioDao.spMan(1, usuarioVo);

        return mapping.findForward("login");
    }


     public ActionForward registro(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        UsuarioForm form1 = (UsuarioForm) form;


        List  listaDependencia= new DependenciaDao().getCombo();


        form1.setListaDependencia(listaDependencia);
          

        return mapping.findForward("register");
    }

    public ActionForward listarUsuario(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        UsuarioRolForm form1 = (UsuarioRolForm) form;

        List listaUsuario = new UsuarioRolDao().getlistTabla();
        List listaRol = new UsuarioRolDao().getlistRol();
//        Vector lista = new Vector();
//        lista.add(new MainDao().consulta("select u.NUM_USUARIOID,u.TX_USUARIO_NAME,u.TX_USUARIO_PASS,r.nombre from rol r inner join rol_usuario ru " +
//                "on r.rol_id = ru.rol_id inner join usuario u" +
//                " on u.NUM_USUARIOID=ru.usuario_id"));

//        List listaUsuario = new UsuarioDao().getlist();
        form1.setListaUsuario(listaUsuario);
        form1.setListaRol(listaRol);


        return mapping.findForward("usuario");
    }
}
